package chapter05

/**
  *
  * @author Pop
  * @date 2022/6/13 22:42
  *
  *      高阶函数
  */
object Test06_HighOrderFunction {
  def main(args: Array[String]): Unit = {
      def f(n:Int):Int = {
        println("f调用")
        n+1
      }

    val result:Int = f(123)

    // 函数作为值进行传递
    val f1:Int=>Int = f
    // 指定类型，还有下划线的内容
    val f2 = f _

    // 函数作为函数的返回值返回
    def f5():Int=>Unit={
      def f6(a:Int):Unit={
        println(a+"调用")
      }
      f6
    }
    def f6()={
      def f6(a:Int):Unit={
        println(a+"调用")
      }

      f6 _
    }
    // 调用
    println(f5()(6))
  }
}
